package lagern;

/**
 * Interface definition: Fach.
 * 
 * @author OpenORB Compiler
 */
public class FachPOATie extends FachPOA
{

    //
    // Private reference to implementation object
    //
    private FachOperations _tie;

    //
    // Private reference to POA
    //
    private org.omg.PortableServer.POA _poa;

    /**
     * Constructor
     */
    public FachPOATie(FachOperations tieObject)
    {
        _tie = tieObject;
    }

    /**
     * Constructor
     */
    public FachPOATie(FachOperations tieObject, org.omg.PortableServer.POA poa)
    {
        _tie = tieObject;
        _poa = poa;
    }

    /**
     * Get the delegate
     */
    public FachOperations _delegate()
    {
        return _tie;
    }

    /**
     * Set the delegate
     */
    public void _delegate(FachOperations delegate_)
    {
        _tie = delegate_;
    }

    /**
     * _default_POA method
     */
    public org.omg.PortableServer.POA _default_POA()
    {
        if (_poa != null)
            return _poa;
        else
            return super._default_POA();
    }

    /**
     * Read accessor for anzahl attribute
     */
    public int anzahl()
    {
        return _tie.anzahl();
    }

    /**
     * Read accessor for name attribute
     */
    public String name()
    {
        return _tie.name();
    }

    /**
     * Operation einlagern
     */
    public void einlagern(String user, int anzahl)
        throws lagern.FachPackage.exInvalidCount
    {
        _tie.einlagern( user,  anzahl);
    }

    /**
     * Operation auslagern
     */
    public void auslagern(String user, int anzahl)
        throws lagern.FachPackage.exInvalidCount, lagern.FachPackage.exNotEnoughPieces
    {
        _tie.auslagern( user,  anzahl);
    }

}
